package com.cy.mall.service.fujue;

import com.cy.mall.model.Result;
import com.cy.mall.model.dto.fujue.req.AddAttachmentParamDTO;
import com.cy.mall.model.dto.fujue.req.AdmittanceAndGetCreditsParamDTO;
import com.cy.mall.model.dto.fujue.req.GetH5AddressParamDTO;
import com.cy.mall.model.dto.fujue.req.GetH5UrlParamDTO;

import java.util.Map;

/**
 * @Description 对接富爵api接口
 * @Author tanyilin
 * @Date 2019/3/25 11:04
 */
public interface FujueApiService {

    /**
     * 获取富爵H5页面地址
     * @param paramDTO
     * @return com.cy.mall.model.Result<java.util.Map<java.lang.String,java.lang.Object>>
     */
    Result<Map<String, Object>> getH5Address(GetH5AddressParamDTO paramDTO);

    /**
     * 查询进件数据
     * @param userId
     * @param productType
     * @return com.cy.mall.model.Result<java.util.Map<java.lang.String,java.lang.Object>>
     */
    Result<Map<String, Object>> queryLoanApplyData(String userId, String productType);

    /**
     * 查询贷款数据
     * @param loanId
     * @return com.cy.mall.model.Result<java.util.Map<java.lang.String,java.lang.Object>>
     */
    Result<Map<String, Object>> queryLoanData(String loanId);

    /**
     * 获取 人脸识别页面、签约页面、还款页面(getH5Url)
     * @param getH5UrlParamDTO
     * @return com.cy.mall.model.Result<java.util.Map<java.lang.String,java.lang.Object>>
     */
    Result<Map<String, Object>> getH5Url(GetH5UrlParamDTO getH5UrlParamDTO);

    /**
     * 查询客户实名认证状态
     * @param idCard
     * @return com.cy.mall.model.Result<java.util.Map<java.lang.String,java.lang.Object>>
     */
    Result<Map<String, Object>> queryAuthStatus(String idCard);

    /**
     * 获取准入额度
     * @param paramDTO
     * @return com.cy.mall.model.Result<java.util.Map<java.lang.String,java.lang.Object>>
     */
    Result<Map<String, Object>> admittanceAndGetCredits(AdmittanceAndGetCreditsParamDTO paramDTO);

    /**
     * 获取订单数据
     * @param loanId
     * @return com.cy.mall.model.Result<java.util.Map<java.lang.String,java.lang.Object>>
     */
    Result<Map<String, Object>> getOrderInfo(String loanId);

    /**
     * 补充资料
     * @param paramDTO
     * @return com.cy.mall.model.Result<java.util.Map<java.lang.String,java.lang.Object>>
     */
    Result<Map<String, Object>> addAttachment(AddAttachmentParamDTO paramDTO);
}
